#ifndef ASSERT_UTILS_H_GGJ
#define ASSERT_UTILS_H_GGJ

#define ASSERT_UTILS_H_GGJ

#include "LogUtils.h"

#include <cassert>

#ifndef _DEBUG

#define DebugAssert(condition, errorMessage, ...) ((void)0);

#else

#define DebugAssert(condition, errorMessage, ...) \
{ \
if (!(condition)) { \
std::string message = "Assertion failed: " + std::string(errorMessage); \
Log::Error(message.c_str(), ##__VA_ARGS__); \
assert(condition); \
} \
}

#endif

#endif #define ASSERT_UTILS_H_GGJ
